diff --git a/drivers/input/touchscreen/ft5x_ts.c b/drivers/input/touchscreen/ft5x_ts.c
index 5d8dc97..340507e 100644
--- a/drivers/input/touchscreen/ft5x_ts.c
+++ b/drivers/input/touchscreen/ft5x_ts.c
@@ -1762,8 +1762,8 @@ ft5x_ts_probe(struct i2c_client *client, const struct i2c_device_id *id)
 		pr_info("%s:ctp_ops.set_irq_mode err.\n", __func__);
 		goto exit_set_irq_mode;
 	}
-	err = request_irq(SW_INT_IRQNO_PIO, ft5x_ts_interrupt, IRQF_TRIGGER_FALLING | IRQF_SHARED, "ft5x_ts", ft5x_ts);
-
+	//err = request_irq(SW_INT_IRQNO_PIO, ft5x_ts_interrupt, IRQF_TRIGGER_FALLING | IRQF_SHARED, "ft5x_ts", ft5x_ts);
+        err = request_irq(SW_INT_IRQNO_PIO, ft5x_ts_interrupt, IRQF_SHARED, "ft5x_ts", ft5x_ts);
 	if (err < 0) {
 		dev_err(&client->dev, "ft5x_ts_probe: request irq failed\n");
 		goto exit_irq_request_failed;
@@ -1981,6 +1981,10 @@ static int __init ft5x_ts_init(void)
 		class_destroy(i2c_dev_class);
 	}
 
+        //The delay is required to make the touchscreen work reliable on the Bananian
+        //Be fixed by Nico(contact@bananian.org)
+        msleep(100); 
+
 	ret = i2c_add_driver(&ft5x_ts_driver);
 
 	return ret;
